Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

ПОБУДОВА СИСТЕМИ ЗБЕРІГАННЯ ІНФОРМАЦІЇ НА MMCSD FLASH-КАРТАХ ПАМ‘ЯТІ З ПІДТРИМКОЮ ФАЙЛОВОЇ СИСТЕМИ FAT16

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системи запису та відтворення інформації
Група:
ЗІ-32

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” З В І Т до лабораторної роботи №5 з курсу: «Системи запису та відтворення інформації» на тему: «ПОБУДОВА СИСТЕМИ ЗБЕРІГАННЯ ІНФОРМАЦІЇ НА MMC\SD FLASH-КАРТАХ ПАМ‘ЯТІ З ПІДТРИМКОЮ ФАЙЛОВОЇ СИСТЕМИ FAT16» Варіант №1 Мета роботи – набути вміння організовувати файловий ввід-вивід даних на Flash-носіях інформації в портативних аудіо- та відеопристроях. ЗАВДАННЯ: Ознайомитись з теоретичним матеріалом.. Відкрити файл образу MMC/SD-карти SD_512.bin в програмі WinHex і визначити основні параметри файлової системи FAT16. Визначити основні параметри файлової системи в середовищі MatLab з допомогою розглянутих функцій і програм для образу MMC/SD-карти SD_512.bin. Визначити основні параметри файлової системи в середовищі MatLab з допомогою розглянутих функцій і програм для образу MMC/SD-карти SD_512.bin. Порівняти вміст зчитаного файлу в середовищі MatLab і WinHex. Варіант Назва файлу  1 FILE1.C   ЛІСТИНГ ПРОГРАМИ clear all; BytesPerSec = 512; Buffer = zeros(BytesPerSec, 1); s = MMC_SD_Init('D:\Student\Lab_5\SD_512.bin'); VBR_Addr = 0; LBA = 0; [Buffer, cl] = MMC_SD_Read_Sector(s, LBA); if (Buffer(511) ~= hex2dec('55')| Buffer(512) ~= hex2dec('AA')) disp ('VBR FAT Error1'); return; end; BytesPerSec = Buffer(hex2dec('b') + 1) + 2^8 * Buffer(hex2dec('b') + 2); z = sprintf ('Кількість байт в секторі: %d', BytesPerSec); disp(z) ; SecPerClus = Buffer(hex2dec('d') + 1); z = sprintf ('Кількість секторів в кластері: %d', SecPerClus); disp (z) ; RsvdSecCnt = Buffer(hex2dec('e') + 1) + 256 * Buffer(hex2dec('f') + 1); z = sprintf ('Кількість зарезервованих секторів від початку карти: %d', RsvdSecCnt); disp (z); NumFATs = Buffer(hex2dec('10') + 1); z = sprintf ('Кількість таблиць FAT: %d', NumFATs); disp (z); RootEntCnt = Buffer(hex2dec('11') + 1) + 256 * Buffer(hex2dec('12') + 1); z = sprintf ('Кількість записів в кореневому каталозі Root Directory: %d', RootEntCnt); disp(z); TotSec = Buffer(hex2dec('13') + 1) + 256 * Buffer(hex2dec('14') + 1); if TotSec ==0 TotSec = Buffer(hex2dec('20') + 1) + 256 * Buffer(hex2dec('21') + 1) + 2^16 * Buffer(hex2dec('22') + 1) + 2^24 * Buffer(hex2dec('23') + 1); end; z = sprintf ('Загальна кількість секторів MMC/SD-карти: %d', TotSec); disp (z); SecPerFAT = Buffer(hex2dec('16') + 1) + 256 * Buffer(hex2dec('17') + 1); z = sprintf ('Розмір таблиці FAT y ceктоpax: %d', SecPerFAT); disp (z); if (Buffer(hex2dec('36')+1)~= 'F'|Buffer(hex2dec('37')+1)~='A'|Buffer(hex2dec('38')+ 1)~= 'T'|Buffer(hex2dec('39') + 1) ~='1'|Buffer(hex2dec('3A')+ 1)~='6') disp('FAT16 Error'); end; temp = Buffer ((hex2dec('36') + 1):(hex2dec ('3A' + 1))); z = sprintf ('Тип файлової системи: %s', char(temp)); disp (z) ; FAT_Sect1 = VBR_Addr + RsvdSecCnt; z = sprintf ('Перший сектор FAT1: %d', FAT_Sect1); disp (z) ; if (NumFATs > 1) FAT_Sect2 = FAT_Sect1 + SecPerFAT; z = sprintf ('Перший сектор FAT2 : %d', FAT_Sect2); disp (z) ; end; RootDir_Sect = VBR_Addr + RsvdSecCnt + SecPerFAT * NumFATs; z = sprintf ('Перший сектор Root Directory: %d', RootDir_Sect); disp(z) ; RootDir_SectCnt = RootEntCnt * 32 / BytesPerSec; z = sprintf('Кількість секторів в Root Directory: %d', RootDir_SectCnt); disp (z) ; Data_Sect = VBR_Addr + RsvdSecCnt + SecPerFAT * NumFATs + RootDir_SectCnt; z = sprintf ('Номер сектора початку області даних: %d', Data_Sect) ; disp (z) ; temp = RootDir_Sect; File_Name = zeros(11, 1); File_Name(1) = 'F'; File_Name(2) = 'I'; File_Name(3) = 'L'; File_Name(4) = 'E'; File_Name(5) = '1'; File_Name(6) = 32; File_Name(7) = 32; File_Name(8) = 32; File_Name(9) = 'C'; File_Name(10) = 32; File_Name(11) = 32; for jj = 1 : RootDir_SectCnt [Buffer, cl] = MMC_SD_Read_Sector(s, temp); temp = temp + 1; Flag_S = 0; count = 1; for ii = 1 : 16 RTE = Buffer(count : count + 10); count = count + 3...
Антиботан аватар за замовчуванням

16.01.2013 12:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини